﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HR.Appointments.Service.DataAccessLayer;
using HR.Appointments.Service.ValueObjects;

namespace HR.Appointments.Service.Test
{
    public class MockOrder : IOrderDAO
    {
        public List<OrderEntity> GetByDate(int CompanyEntityId, DateTime date)
        {
            var result = new List<OrderEntity>();
            var o = OrderEntity.Create(1, TestVariables.Date, TestVariables.Date,
                TimeUnit.Create(14, 0), 1, Customer.Create("Steinar", "8203047", ""), 1, 1);
            result.Add(o);

            o = OrderEntity.Create(1, TestVariables.Date, TestVariables.Date,
                TimeUnit.Create(11, 0), 1, Customer.Create("Jónas", "8206453", ""), 1, 1);
            result.Add(o);

            o = OrderEntity.Create(1, TestVariables.Date, TestVariables.Date,
                TimeUnit.Create(15, 0), 0, Customer.Create("Helgi", "8675745", ""), 1, 1);
            result.Add(o);
            return result;
        }

        #region IOrderDAO Members

        public void Delete(int companyId, int orderId)
        {
            throw new NotImplementedException();
        }

        public void Insert(OrderEntity order)
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IOrderDAO Members


        public List<OrderEntity> GetByPhone(string phone)
        {
            throw new NotImplementedException();
        }

        #endregion

        #region IOrderDAO Members


        public List<OrderEntity> GetAllValidOrders(int companyId)
        {
            throw new NotImplementedException();
        }

        public OrderEntity GetInstance(int companyId, int orderId)
        {
            throw new NotImplementedException();
        }

        public List<OrderEntity> GetNotifiableBooked()
        {
            throw new NotImplementedException();
        }

        public List<OrderEntity> GetNotifiableOrdered(int companyId, int delayTime)
        {
            throw new NotImplementedException();
        }

        public List<OrderEntity> GetUnSentByStatus(int companyId, OrderStatus status)
        {
            throw new NotImplementedException();
        }

        public void Update(OrderEntity order)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
